package com.ssy.lingxi.pay.service.assetAccount;

import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.pay.api.dto.request.assetAccount.CheckRequest;
import com.ssy.lingxi.pay.api.dto.request.assetAccount.SimpleIdListRequest;
import com.ssy.lingxi.pay.entity.assetAccount.AccountTradeRecord;
import com.ssy.lingxi.pay.model.assetAccount.CashOutQueryQuery;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 会员资金账户
 * @author jw.chen
 * @version 2.0.0
 * @date 2020/7/21
 */
public interface IAccountTradeService {

    /**
     * 查询会员资金账户交易记录
     */
    Page<AccountTradeRecord> getAccountTradeRecord(PageVO pageVO, Long memberAssetAccountId);

    /**
     * 查询会员资金账户交易记录
     */
    Page<AccountTradeRecord> getAccountTradeRecordList(PageVO pageVO, Long memberAssetAccountId, List<Integer> operation, Long startTime, Long endTime);

    /**
     * 待审核提现
     * @param cashOutQueryQuery
     */
    Page<AccountTradeRecord>  getCheckCashOutList(PageVO pageVO, CashOutQueryQuery cashOutQueryQuery);

    /**
     * 批量审核
     * @param simpleIdListRequest
     */
    String batchCheck(SimpleIdListRequest simpleIdListRequest);

    /**
     * 审核提现
     * @param checkRequest
     */
    String check(CheckRequest checkRequest);
}
